/* ========================================================================= */
/* ------------------------------------------------------------------------- */
/*!
  \file			storetype.h
  \date			Dec 2011
  \author		TNick

  \brief		Contains the definition for UserVar class


*//*


 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 Please read COPYING and README files in root folder
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*/
/* ------------------------------------------------------------------------- */
/* ========================================================================= */
#ifndef __STORE_TYPE_INC__
#define __STORE_TYPE_INC__
//
//
//
//
/*  DEFINITIONS    --------------------------------------------------------- */

namespace	PgScr	{


/**
 *	@brief	types of content in variables
 */
enum	StoreType		{


	/**
	*	@brief	the variant was not initialised yet
	*/
	VTY_INVALID = -1,



	/**
	*	@brief	an aray;
	*
	*	underlying storage is UserAry. All variables must have same type
	*	that is stored in the upper part of the type.
	*/
	VTY_FLAG_ARRAY = 0,


	/**
	*	@brief	an tree;
	*
	*	underlying storage is UserTree. variables may have different
	*	base types; the nodes are marked by \b VTY_FLAG_TREE
	*/
	VTY_FLAG_TREE,



	/**
	*	@brief	integer
	*
	*	underlying storage type is \b qint64
	*/
	VTY_INTEGER,


	/**
	*	@brief	boolean value
	*
	*	underlying storage type is \b bool
	*/
	VTY_BOOL,


	/**
	*	@brief	a character
	*
	*	underlying storage type is \b int
	*/
	VTY_CHARACTER,


	/**
	*	@brief	color in rgb format
	*
	*	underlying storage type is \b QRgb
	*/
	VTY_COLOR,


	/**
	*	@brief	a real number in floating point format
	*
	*	underlying storage type is \b qreal
	*/
	VTY_DOUBLE,


	/**
	*	@brief	an unicode based string
	*
	*	underlying storage type is a pointer to a \b QString
	*/
	VTY_STRING,


	/**
	*	@brief	a class that inherits from DefVar
	*
	*	underlying storage type is a pointer to a DefVar interface
	*	Placement of this value as first one that does not assume an interface
	*	stored in bldin_intf needs to be preserved.
	*/
	VTY_DEFVAR,


	/**
	*	@brief	for validation; maximum value for actual types
	*/
	VTY_BASE_MAX,


	/**
	*	@brief	the mask for actual types; a maximum of 255 build in types allowed
	*/
	VTY_BASE_MASK = 0xFF,


	/**
	*	@brief	the mask for composed types
	*/
	VTY_COMP_MASK = 0xFF << 8,


	/**
	*	@brief	the mask for level count
	*/
	VTY_LEVEL_MASK = 0xFFFF << 16


};


}	//	namespace	PgScr


/*  DEFINITIONS    ========================================================= */
//
//
//
//
#endif // __STORE_TYPE_INC__
/* ------------------------------------------------------------------------- */
/* ========================================================================= */
